﻿//-----------------------------------------------------------------------
// <copyright file="IAuctioneerRepository.cs" company="Transilvania University of Brasov">
//     Copyright (c) Nagy Robert. All rights reserved.
// </copyright>
//-----------------------------------------------------------------------

namespace DataAccessLayer.Auctioneer
{
    using System.Collections.Generic;
    using DomainModel;

    /// <summary>
    /// Defines database operations
    /// </summary>
    public interface IAuctioneerRepository
    {
        /// <summary>
        /// Adds the specified data transfer object.
        /// </summary>
        /// <param name="dto">The data transfer object.</param>
        void Add(DTOAuctioneer dto);

        /// <summary>
        /// Edits the specified data transfer object.
        /// </summary>
        /// <param name="dto">The data transfer object.</param>
        void Edit(DTOAuctioneer dto);

        /// <summary>
        /// Deletes the specified identifier.
        /// </summary>
        /// <param name="id">The identifier.</param>
        void Delete(int id);

        /// <summary>
        /// Finds the specified identifier.
        /// </summary>
        /// <param name="id">The identifier.</param>
        /// <returns>The data transfer object</returns>
        DTOAuctioneer Find(int id);

        /// <summary>
        /// Gets all.
        /// </summary>
        /// <returns>List of data transfer objects</returns>
        List<DTOAuctioneer> GetAll();
    }
}
